baselib.report(0x00, "TD4.8.2 beginning.")
-- 初始化操作
busilib.SetOrientation(1)  -- 设置USB的CC线,另一根则为Vconn线(这里设置CC1)

-- 第一步:CVS present a DTS (Debug and Test Accessory) Sink by terminating CC pins with Rd
-- CVS通过在CC引脚上终止Rd来呈现DTS（调试和测试配件）Sink
busilib.SetSwitchState(SW.CC1_RD, 1)  -- 将CC1_RD开关打开
busilib.SetSwitchState(SW.CC2_RD, 1)  -- 将CC2_RD开关打开
-- 第二步:CVS verifies PUT transitions to Unattached.SRC within tDRP – (dcSRC.DRP x tDRP) [TD.4.8.2.V.1]
baselib.delay(30)  -- 等待tDRP – (dcSRC.DRP x tDRP)时间
local VCC1 = busilib.GetADC(ADC.CC1, 4)
if VCC1 > 200 then
    baselib.report(0x00, "TD4.8.2.V.1 pass.")
else
    baselib.report(0x00, "TD4.8.2.V.1 fail.")
end
-- 第三步:If VIF field Type_C_Is_Debug_Target_SRC is YES:
if Type_C_Is_Debug_Target_SRC then
    -- 3.a步:CVS verifies PUT sources Vbus after tCCDebounce and within tVbusON. [TD.4.8.2.V.2]
    -- CVS验证PUT在tCCDebounce后且在tVbusON时间内提供Vbus
    baselib.delay(200)  -- 等待tCCDebounce时间
    -- 在某段时间提供VBUS是不是应该封装成一个函数？
else
    -- 第四步:Else if VIF field Type_C_Is_Debug_Target_SRC is NO or not defined:
    -- 4.a步:CVS verifies PUT does not source Vbus after tCCDebounce expires. [TD.4.8.2.V.3]
    -- CVS验证PUT在tCCDebounce到期后不提供Vbus
    baselib.delay(200)  -- 等待tCCDebounce时间
    -- 验证PUT不提供VBUS的操作
end

baselib.report(0x00, "TD4.8.2 completed.")
baselib.report(0x07, "\x04")